-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
[core] Delay chunk evaluation #2918
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## develop #2918 +/- ##
===========================================
- Coverage 80.82% 78.95% -1.88%
===========================================
Files 59 59
Lines 7844 8301 +457
===========================================
+ Hits 6340 6554 +214
- Misses 1504 1747 +243 ☔ View full report in Codecov by Sentry. 🚀 New features to boost your workflow:
|
02bae2f to
15df47f
Compare
4b47850 to
51cfd91
Compare
15b7db5 to
ecbcbed
Compare
cbentejac
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Additional notes:
- Let's say I compute a graph (for example, the photogrammetry template) in a given location. All my nodes have been successfully computed, the statuses are all set to "SUCCESS". Now let's say I do a "save as" on the graph I just computed and save it to a new location. The cache changes, so we expect all the nodes' status to be reset. For nodes that have dynamic chunks, the display of the status is not refreshed, and we end up with nodes that appear as computed, although they have lost all their status files.
Below is a screenshot of the photogrammetry graph that was computed and saved in a new location (the first branch was computed, the second was added from the template for the sake of comparison):
-
There are some unpredictable behaviours when performing actions that are allowed but probably shouldn't be. An example would be clicking on "stop task" for a task that is already done computing and is in "SUCCESS" state, while nodes are being computed later on in the graph. The UI allows to perform it, there is an info message saying that the task has been successfully stopped, and the node's status is updated to "STOPPED" in the task manager and Graph Editor; it does not enable the "resume job" button. This seems to cause the job on the farm to finish computing the current task and then pausing the rest of the job (to be verified).
-
I have noticed on several occasions that when clicking on buttons from the "JOB" tab, the info message that is sent contains the name of a node that is not part of the job at all (if all my submitted tasks are for NodeName_2, I may get a message about NodeName_1, which is not being computed at all).
cbentejac
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Additional notes:
- Let's say I compute a graph (for example, the photogrammetry template) in a given location. All my nodes have been successfully computed, the statuses are all set to "SUCCESS". Now let's say I do a "save as" on the graph I just computed and save it to a new location. The cache changes, so we expect all the nodes' status to be reset. For nodes that have dynamic chunks, the display of the status is not refreshed, and we end up with nodes that appear as computed, although they have lost all their status files.
Below is a screenshot of the photogrammetry graph that was computed and saved in a new location (the first branch was computed, the second was added from the template for the sake of comparison):
-
There are some unpredictable behaviours when performing actions that are allowed but probably shouldn't be. An example would be clicking on "stop task" for a task that is already done computing and is in "SUCCESS" state, while nodes are being computed later on in the graph. The UI allows to perform it, there is an info message saying that the task has been successfully stopped, and the node's status is updated to "STOPPED" in the task manager and Graph Editor; it does not enable the "resume job" button. This seems to cause the job on the farm to finish computing the current task and then pausing the rest of the job (to be verified).
-
I have noticed on several occasions that when clicking on buttons from the "JOB" tab, the info message that is sent contains the name of a node that is not part of the job at all (if all my submitted tasks are for NodeName_2, I may get a message about NodeName_1, which is not being computed at all).
8a599b4 to
e720c8b
Compare
b35b0e7 to
96e9acb
Compare
…n, create a NodeStatusData
…n fetch licenses required for the submitter
de92eca to
bc6ef4a
Compare
`nodeType` and `packageName` are already part of the node's status file, and there is thus no need to propagate them to the chunks'.
…Blocks in status files
`canBeStopped` and `canBeCanceled` only took into account nodes that were being run locally. As nodes that have been submitted externally (exclusively on a render farm, not in another instance of Meshroom) can now be stopped and canceled as well, they are considered in both methods.
When a job has been submitted, the state of the `Submit` button switches to `stoppable`. Clicking it in this state interrupts the node's computation on the farm.
dede3a7 to
4f96f9d
Compare
`chunkPlaceholder` is a list model that is meant to contain a placeholder chunk for nodes that have dynamic chunks: prior to the chunks' creation, it is used to reflect the state of the node as a single chunk. In particular, this allows to reflect accurately the node's status while it is submitted but the chunks have not been created yet. The property is a list model as it allows it to be used as a model later on on the QML side.
`onGraphUpdated` updates the models for chunks, including the placeholder, which allows to have an up-to-date status for all the existing chunks as well as the placeholder one when a node's number of chunks hasn't been determined yet.
b371eef to
22ae573
Compare
Description
This PR goal is to change chunk system to be able to work with graphs where nodes can have no specific size set.
Changes
Compute system
extreme(that targets higher specs that what intensive does)scriptwhich is a mode for single-process simple process. It targets specific machines on the farm that have the ability to run multiple jobs in parallel so for simple jobs it should allow faster processingnode_chunksCreatedparam has been added to check if the chunks have been correctly initializedresetChunkswhen loading meshroom, that will create a list with a single chunk, and we can create chunks at any moment with_createChunks.NodeStatusDatahas been added that tracks anodeStatusfile which is similar to the chunk statuses files but is specific to the node. This node status is used to get the cached range parametrization of the node so that we can retrieve it when possible with_createChunksFromCache.taskManagerTaskThreadandTaskManagerhave been modified to launch the chunk creation when the node compute startsSubmitters
BaseSubmitterAPI have been updated to allow more flexibility. A newBaseSubmittedJobexists and is used to track jobs that have been created. The goal is to use this as an interface to call actions on it (stop/pause/restart...)bin/meshroom_createChunksscript have been created, and handles the chunk creation and additional chunk tasks spoolingChanges to the tractor API have been implemented here meshroomHub/mrSubmitters#1
Examples